package cqrtplm.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.hutool.core.date.DateUtil;
import com.hustcad.plm.pdm.partbom.dto.PartBomTree;
import com.ty.basic.session.TyAccountContext;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * BOM详情体对象 DSPF_MBOM_DETAIL
 * @author 江小熊
 * @date 2025-10-24
 */
@Data
public class DspfMbomDetailDO
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String kid;

    /** BOM表ID */
    @Excel(name = "BOM表ID")
    private String bomid;

    /** 父级ID */
    @Excel(name = "父级ID")
    private String parentid;

    /** 段号 */
    @Excel(name = "段号")
    private String positionnum;//

    /** 装配位置 */
    @Excel(name = "装配位置")
    private String assemblyposition;//

    /** 零部件代号 */
    @Excel(name = "零部件代号")
    private String partscode;

    /** 图样代号 */
    @Excel(name = "图样代号")
    private String patterncode;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String materialcode;//

    /** 物料类型：0物料（W专件B标件）、1成品码 */
    @Excel(name = "物料类型：0物料")
    private String materialtype;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialname;//

    /** 物料数量 */
    @Excel(name = "物料数量")
    private String materialcount;//

    /** 制造属性 */
    @Excel(name = "制造属性")
    private String manufactureattr;

    /** 规格状态 */
    @Excel(name = "规格状态")
    private String specification;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private String supplierid;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String suppliername;

    /** 排序号 */
    @Excel(name = "排序号")
    private String sortorder;

    /** 层级 */
    @Excel(name = "层级")
    private String lvl;

    /** 状态可变更 */
    @Excel(name = "状态可变更")
    private String canchange;

    /** 是否需要图纸 */
    @Excel(name = "是否需要图纸")
    private String needdrawing;

    /** 有无图纸 */
    @Excel(name = "有无图纸")
    private String hasdrawing;

    /** 图样认证信息 */
    @Excel(name = "图样认证信息")
    private String certificationinfo;

    /** 段号 */
    @Excel(name = "段号")
    private String positionmaterial;

    /** 创建日期 */
    @Excel(name = "创建日期")
    private Date fCreatedate;//

    /** 创建用户主键 */
    @Excel(name = "创建用户主键")
    private String fCreateuserid;

    /** 创建用户 */
    @Excel(name = "创建用户")
    private String fCreateusername;//

    /** 修改日期 */
    @Excel(name = "修改日期")
    private String fModifydate;//

    /** 修改用户主键 */
    @Excel(name = "修改用户主键")
    private String fModifyuserid;

    /** 修改用户 */
    @Excel(name = "修改用户")
    private String fModifyusername;

    /** 版本号 */
    @Excel(name = "版本号")
    private String verid;//

    /** 指定原因 */
    @Excel(name = "指定原因")
    private String appointreason;

    /** 零部件名称 */
    @Excel(name = "零部件名称")
    private String partsname;

    /** 图号占比 */
    @Excel(name = "图号占比")
    private String thbili;

    /** 物料来源于裸机码 */
    @Excel(name = "物料来源于裸机码")
    private String fromebomid;

    /** 是否历史物料 */
    @Excel(name = "是否历史物料")
    private String isold;

    /** 物料变更类型 表示这个物料是0新增后无修改的 1修改后的 2已删除 */
    @Excel(name = "物料变更类型 表示这个物料是0新增后无修改的 1修改后的 2已删除")
    private String modifytype;

    /** 修改说明 */
    @Excel(name = "修改说明")
    private String modifydescr;

    /** 无 */
    @Excel(name = "无")
    private String packedpartcode;

    /** 无 */
    @Excel(name = "无")
    private String packedpartname;

    /** 无 */
    @Excel(name = "无")
    private String fDescription;

    /** 对应的裸机码物料主键 */
    @Excel(name = "对应的裸机码物料主键")
    private String fromebomkid;

    /** 父级物料 */
    @Excel(name = "父级物料")
    private String parentcode;

    /** 无 */
    @Excel(name = "无")
    private String bomcreateyear;

    /** 无 */
    @Excel(name = "无")
    private String bomcreatedate;

    /** 无 */
    @Excel(name = "无")
    private String detailid;

    //描述
    private String description;
    //ROHS定价
    private String pricing;
    //0动力/1机组/2传动
    private String otype;
    /** 图号名称 */
    private String pattername;


    //此字段不是数据库字段，为了指定绑定成品码而出现
    private String productCode;
    //此字段不是数据库字段，为了显示搭建图号、物料bom权限而出现
    private String drawingMaterialAuth;


    public DspfMbomDetailDO(){

    }


}
